Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
Лабораторна робота № 4
з курсу ”Комп’ютері системи”
на тему: „ Дослідження програмної моделі RISC CPU ”
Львів - 2014
Тема: Дослідження програмної моделі RISC CPU
Мета роботи :
1. Навчитися здійснювати оцінку структури об’єкта (RISC CPU) на існуючій програмній моделі .
2. Навчитись встановлювати структуру інтерфейсів об’єкта .
Теоретична частина:
1.1 Загальні поняття
RISC CPU це процесор, у якому реалізована архітектура із скороченим набором команд (RISC – Reduced Instruction Set Computer).
Головні зусилля у архітектурі RISC направлені на побудову максимально ефективного конвейєра команд , тобто такого, де всі команди вибираються із пам’яті і поступають у ЦП на обробку у вигляді рівномірного потоку, причому ні одна команда неповинна знаходитися у стані очікування, а ЦП повинен залишатися завантаженим на протязі усього часу.
Цю умову відносно просто можна реалізувати для етапу виборки. Необхідно лише, щоб всі команди мали стандартну довжину, яка дорівнює ширині шини даних, що з’єднує ЦП і пам’ять.
Крім однакової довжини команд, важливо мати відносно просту підсистему декодування і управління: складний пристрій управління (УУ) буде вносити додаткові затримки у формування сигналів управління. Шлях суттєвого спрощення УУ – скорочення числа команд, що входять до складу системи команд ЦП, форматів команд і даних, а також видів адресації.
Якщо підсумувати наведені вище та інші вимоги до архітектури із скороченим набором команд, то концепцію RISC-комп’ютера можна звести до наступних положень:
- виконання всіх (або, не менше, 75 % команд) за один цикл;
- стандартна, у одне слово, довжина всіх команд, яка дорівнює природній довжині слова і ширині шини даних і така, що допускає уніфіковану потокову обробку усіх команд;
- мале число команд (не більше 128);
- мала кількість форматів команд (не більше 4);
- мале число способів адресації (не більше 4);
- доступ до пам’яті тільки через команди „Читання” і „Запис”;
- всі команди, за виключенням „Читання” і „Запис”, використовують внутріщньопроцесорні між регістрові пересилання;
- пристрій управління „жорсткою” логікою;
- відносно великий (не менше 30) процесорний файл регістрів загального призначення (як відомо, у сучасних RISC CPU число РОН може перевищувати 500).
Завдання:
Дослідити програмну модель RISC CPU
Визначити склад програмної моделі RISC CPU.
Визначити призначення блоків у структурі RISC CPU.
Визначити зв’язки між структурними блоками RISC CPU (інтерфейси).
Визначити структури інтерфейсів між блоками RISC CPU.
Визначити окремі потоки у структурі інтерфейсів:
інформаційні;
керування.
Хід виконання роботи:
Перелік блоків програмної моделі RISC CPU;
FETCH_BLOCK, DECODE_BLOCK, EXEC_BLOCK, FLOAT_BLOCK, MMX_BLOCK, BIOS_BLOCK, PAGING_BLOCK, ICACHE_BLOCK, DCACHE_BLOCK, PIC_BLOCK
призначення блоків у структурі RISC CPU;
FETCH_BLOCK – вибирає (розпізнає) команду.
DECODE_BLOCK – вибирає з команди операнди.
EXEC_BLOCK – блок в якому команда виконується.
FLOAT_BLOCK – виконуються операції з числами з плаваючою комою.
MMX_BLOCK - виконуються mmx операції.
BIOS_BLOCK – реалізує bios.
PAGING_BLOCK – сторінковий блок.
ICACHE_BLOCK – кеш для інструкцій.
DCACHE_BLOCK – кеш для даних.
PIC_BLOCK – модуль переривань.
вхідні і вихідні інтерфейси для кожного блоку RISC CPU окремо;
FETCH_BLOCK
sc_in<unsigned > ramdata; // instruction from RAM
sc_in<unsigned > branch_address; // branch target address
sc_in<bool> next_pc; // pc ++
sc_in<bool> branch_valid; // branch_valid
sc_in<bool> stall_fetch; // STALL_FETCH
sc_in<bool> interrupt; // interrrupt
sc_in<unsigned> int_vectno; // interrupt vector number
sc_in<bool> bios_valid; // BIOS input valid
sc_i...